home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / gfx / 3d / irit50src.lha / irit5 / scripts / solid2.irt < prev    next >
Encoding:
Text File  |  1994-06-23  |  1.5 KB  |  81 lines

  1. #
  2. # This solid was taken from: Geometric Modeling,
  3. # by Michael E. Mortenson page 441, figure 10.9
  4. #
  5. #                Created by Gershon Elber,    Jan 89
  6. #
  7.  
  8. time(true);
  9.  
  10. save_mat = view_mat;
  11. view_mat = view_mat * scale(vector( 0.5, 0.5, 0.5 ));
  12. save_res = resolution;
  13.  
  14. #
  15. # Try it with coplanar false for fun.
  16. #
  17. iritstate("coplanar", true);
  18. iritstate("polysort", 0);
  19.  
  20. T1 = BOX(vector( -2.0, -0.35, 0.0), 4, 0.7, 0.4);
  21. resolution = 40;
  22. T2 = CYLIN(vector( 0.0, 0.0, 0.0), vector( 0.0, 0.0, 0.4), 1.4);
  23. S1 = T1 * T2;
  24. free(T1);
  25. free(T2);
  26. beep();
  27. view(list(view_mat, S1), true);
  28.  
  29. resolution = 20;
  30. T3 = CYLIN(vector( 0.0, 0.0, 0.0), vector( 0.0, 0.0, 0.4), 0.9);
  31. S2 = S1 + T3;
  32. free(T3);
  33. free(S1);
  34. beep();
  35. view(S2, true);
  36.  
  37. resolution = 40;
  38. T4 = CYLIN(vector( 1.45, -0.5, 1.0), vector( 0.0, 1.0, 0.0), 0.8);
  39. T5 = CYLIN(vector(-1.45, -0.5, 1.0), vector( 0.0, 1.0, 0.0), 0.8);
  40. S3 = S2 - T4 - T5;
  41. free(T4);
  42. free(T5);
  43. free(S2);
  44. beep();
  45. view(S3, true);
  46.  
  47. resolution = 8;
  48. T6 = CYLIN(vector( 1.2, 0.0, -0.1), vector( 0.0, 0.0, 0.5), 0.1);
  49. T7 = CYLIN(vector(-1.2, 0.0, -0.1), vector( 0.0, 0.0, 0.5), 0.1);
  50. S4 = S3 - T6 - T7;
  51. free(T6);
  52. free(T7);
  53. beep();
  54. view(S4, true);
  55.  
  56. resolution = 16;
  57. T8 = CYLIN(vector( 0.0, 0.0, -0.2), vector( 0.0, 0.0, 0.9), 0.3);
  58. T9 = BOX(vector( -0.6, -0.15,-0.1), 1.2, 0.3, 0.7);
  59. S5 = T8 + T9;
  60. free(T8);
  61. free(T9);
  62. beep();
  63. view(S5, false);
  64.  
  65. S6 = S4 - S5;
  66. free(S4);
  67. free(S5);
  68.  
  69. final = convex(S6);
  70. free(S6);
  71.  
  72. time(false); # In Seconds
  73.  
  74. interact(final);
  75.  
  76. save("solid2", final);
  77. free(final);
  78.  
  79. view_mat = save_mat;
  80. resolution = save_res;
  81.